home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / debugger / ddd-1.000 / ddd-1 / ddd-1.4b / ddd / value-read.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-21  |  2.9 KB  |  88 lines

  1. // $Id: value-read.h,v 1.3 1995/11/21 13:52:06 zeller Exp $
  2. // Read variable values in string representation
  3.  
  4. // Copyright (C) 1995 Technische Universitaet Braunschweig, Germany.
  5. // Written by Dorothea Luetkehaus (luetke@ips.cs.tu-bs.de).
  6. // 
  7. // This file is part of the DDD Library.
  8. // 
  9. // The DDD Library is free software; you can redistribute it and/or
  10. // modify it under the terms of the GNU Library General Public
  11. // License as published by the Free Software Foundation; either
  12. // version 2 of the License, or (at your option) any later version.
  13. // 
  14. // The DDD Library is distributed in the hope that it will be useful,
  15. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17. // See the GNU Library General Public License for more details.
  18. // 
  19. // You should have received a copy of the GNU Library General Public
  20. // License along with the DDD Library -- see the file COPYING.LIB.
  21. // If not, write to the Free Software Foundation, Inc.,
  22. // 675 Mass Ave, Cambridge, MA 02139, USA.
  23. // 
  24. // DDD is the data display debugger.
  25. // For details, see the DDD World-Wide-Web page, 
  26. // `http://www.cs.tu-bs.de/softech/ddd/',
  27. // or send a mail to the DDD developers at `ddd@ips.cs.tu-bs.de'.
  28.  
  29. //-----------------------------------------------------------------------------
  30. // Funktionen zum Lesen von Variablenwerten in string-Darstellung
  31. //-----------------------------------------------------------------------------
  32.  
  33. #ifndef _value_read_h
  34. #define _value_read_h
  35.  
  36. #ifdef __GNUG__
  37. #pragma interface
  38. #endif
  39.  
  40. #include "strclass.h"
  41. #include "bool.h"
  42.  
  43. // ***************************************************************************
  44. enum DispValueType {
  45.     Simple,            // Ordinary or other value
  46.     Pointer,            // Pointer value
  47.     Array,            // Array
  48.     StructOrClass,        // `struct' or `class'
  49.     BaseClass,            // C++ Base class member
  50.     Reference            // C++ Reference
  51. };
  52.  
  53. DispValueType determine_type (string value);
  54.  
  55. string read_token (string& value);
  56. string read_simple_value (string& value);
  57.  
  58. string read_pointer_value (string& value);
  59.  
  60. // Bei Misserfolg false
  61. bool read_array_begin (string& value);
  62. bool read_array_next (string& value);
  63. bool read_array_end (string& value);
  64.  
  65. // Bei Misserfolg false
  66. bool read_str_or_cl_begin (string& value);
  67. bool read_str_or_cl_next (string& value);
  68. bool read_str_or_cl_end (string& value);
  69. bool read_members_of_xy (string& value);
  70.  
  71. // Bei Misserfolg ""
  72. string read_vtable_entries (string& value);
  73. string read_member_name (string& value);
  74.  
  75. // ***************************************************************************
  76. // true, wenn name in spitzen Klammern (z.B.: "<>" oder "<Basis>") 
  77. // 
  78. bool is_BaseClass_name (const string& name);
  79.  
  80. // ***************************************************************************
  81. // schneidet vom full_name die letzte Komponente ab
  82. // d.h.: "blabla.<Basis>" wird zu "blabla"
  83. // 
  84. void cut_BaseClass_name (string& full_name);
  85.  
  86.  
  87. #endif
  88.